Distributed Java Virtual Machine with Thread Migration

نویسنده

  • Wenzhang Zhu
چکیده

of thesis entitled “Distributed Java Virtual Machine with Thread Migration” submitted by Wenzhang Zhu for the degree of Doctor of Philosophy at the University of Hong Kong in August 2004 Recent advances in better Java class libraries and Just-in-Time (JIT) compilation techniques have greatly improved the performance of Java to match that of C/C++. To fully exploit Java’s multithreading feature on clusters, an attractive goal is to extend the Java Virtual Machine (JVM) to be “cluster-aware” so that a group of JVMs running on distributed nodes can work together as a single, more powerful JVM to support true parallel execution of a multithreaded Java application. In a cluster-aware JVM, the Java threads created within one program can run on different cluster nodes to achieve a higher degree of execution parallelism. The distributed system would provide all the virtual machine services to Java programs, and should be fully compliant with the Java language specification. We refer to such a distributed system as a Distributed JVM (DJVM). In our study, we solve the problem of transparent Java thread migration in a JIT-enabled DJVM. The problem of thread migration is to suspend a running thread in a multithreaded application on one node, and resume its execution on a target node, such that the thread continues to execute and communicate with other threads of the same application on different nodes. In this act, the challenges lie in dealing with different types of pointers associated with the context of the migratory thread. The JIT compilation in JVM has made the native code of Java methods be dynamically placed, thus the method pointer relocation becomes difficult. Shared Java objects

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

SingleJava: A Distributed Java Virtual Machine Based on Thread Migration

A distributed Java virtual machine called SingleJava based on thread migration is proposed in this paper. SingleJava can be used to build a distributed computing framework while keeping itself completely transparent to Java programmers. The main idea underlying is to improve the inevitable Java virtual machine in a Java based software system, i.e., adding a build-in distributed infrastructure t...

متن کامل

JESSICA2: A Distributed Java Virtual Machine with Transparent Thread Migration Support

A distributed Java Virtual Machine (DJVM) spanning multiple cluster nodes can provide a true parallel execution environment for multi-threaded Java applications. Most existing DJVMs suffer from the slow Java execution in interpretive mode and thus may not be efficient enough for solving computation-intensive problems. We present JESSICA2, a new DJVM running in JIT compilation mode that can exec...

متن کامل

Mobile JikesRVM: A framework to support transparent Java thread migration

Today’s complex applications must face the distribution of data and code among different network nodes. Computation in distributed contexts is demanding increasingly powerful languages and execution environments, able to provide programmers with appropriate abstractions and tools. Java is a wide-spread language that allows developers to build complex software, even distributed, but it cannot ha...

متن کامل

Lightweight Transparent Java Thread Migration for Distributed JVM

A distributed JVM on a cluster can provide a highperformance platform for running multi-threaded Java applications transparently. Efficient scheduling of Java threads among cluster nodes in a distributed JVM is desired for maintaining a balanced system workload so that the application can achieve maximum speedup. We present a transparent thread migration system that is able to support high-perf...

متن کامل

JIT-Compiler-Assisted Distributed Java Virtual Machine

There is now a strong interest in high-performance execution of multithreaded Java programs in a cluster. Previous efforts to provide for such executions have either used static compilation tools that can transform multithreaded Java programs into parallel versions, or interpreter-based cluster-aware JVMs that offer the needed support. They failed however to be fully compliant with the Java lan...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2004